package com.ocean.product.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ocean.common.annotation.Excel;
import com.ocean.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 产品类别对象 o_product
 *
 * @author ocean
 * @date 2023-01-05
 */
public class OProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private String id;

    /** 资源目录id */
    @Excel(name = "资源目录id")
    private Long resourcesId;
    private String resourceName;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 产品类型 */
    @Excel(name = "产品类型")
    private String productItem;

    /** 预报要素 */
    @Excel(name = "预报要素")
    private String forecastElement;
    private String elementName;

    /** 覆盖海区 */
    @Excel(name = "覆盖海区")
    private String coverSeaArea;
    private String oceanName;

    /** 分辨率 */
    @Excel(name = "分辨率")
    private String resolution;

    /** 预报实效 */
    @Excel(name = "预报实效")
    private String forecastAging;

    /** 下发频次 */
    @Excel(name = "下发频次")
    private String frequency;

    /** 文件大小 */
    @Excel(name = "文件大小")
    private BigDecimal fileSize;

    /** 生产部门 */
    @Excel(name = "生产部门")
    private String productDepartment;
    private String productDeptName;

    /** 产品简介 */
    @Excel(name = "产品简介")
    private String productDrief;

    /** 命名规则 */
    @Excel(name = "命名规则")
    private String nameRule;

    /** 产品类别 */
    @Excel(name = "产品类别")
    private String productType;

    /** 自动发布（1-自动，0-不自动) */
    @Excel(name = "自动发布", readConverterExp = "自动发布（1-自动，0-不自动)")
    private Integer isAuto;

    /** 上限阈值 */
    @Excel(name = "上限阈值")
    private BigDecimal maxFileSize;

    /** 下限阈值 */
    @Excel(name = "下限阈值")
    private BigDecimal minFileSize;

    /** 文件类型 */
    @Excel(name = "文件类型")
    private String fileType;

    /** 组织机构id */
    @Excel(name = "组织机构id")
    private String departId;

    /** 预报类型 */
    @Excel(name = "预报类型")
    private String forecastType;

    /** 排序 */
    @Excel(name = "排序")
    private Integer sortOrder;

    /** 归档校验配置 */
    @Excel(name = "归档校验配置")
    private String checkConfig;

    /** 左下经度 */
    @Excel(name = "左下经度")
    private BigDecimal leftUpLongitude;

    /** 左下纬度 */
    @Excel(name = "左下纬度")
    private BigDecimal leftUpLatitude;

    /** 右上经度 */
    @Excel(name = "右上经度")
    private BigDecimal rightDownLongitude;

    /** 右上纬度 */
    @Excel(name = "右上纬度")
    private BigDecimal rightDownLatitude;

    /** 是否可预览 */
    @Excel(name = "是否可预览")
    private Integer isPreview;

    /** 是否可单点比测 */
    @Excel(name = "是否可单点比测")
    private Integer isSiteBice;

    /** 是否可场比测 */
    @Excel(name = "是否可场比测")
    private Integer isZoneBice;

    /** 是否前端显示 */
    @Excel(name = "是否前端显示")
    private Integer isOpen;

    /** 提醒邮箱设定 */
    @Excel(name = "提醒邮箱设定")
    private String sendMail;

    /** 产品模式 */
    @Excel(name = "产品模式")
    private String productMode;
    private String modeName;

    /** 是否永久保存 */
    @Excel(name = "是否永久保存")
    private Integer isForeverSave;

    /** 预报间隔 */
    @Excel(name = "预报间隔")
    private String forecastInterval;

    /** 是否检查更新 */
    @Excel(name = "是否检查更新")
    private Integer isJoinHistory;

    /** 检查更新天数 */
    @Excel(name = "检查更新天数")
    private String notUpdateCheckDays;

    /** 可预览/下载单位 */
    @Excel(name = "可预览/下载单位")
    private String departIds;

    /** 启用阈值 */
    @Excel(name = "启用阈值")
    private Integer isOpenThreshold;

    /** 是否归档解压 */
    @Excel(name = "是否归档解压")
    private Integer isUnzip;

    /** 晚传时间设置 */
    @Excel(name = "晚传时间设置")
    private Integer lateTransmission;

    /** 补传时间设置 */
    @Excel(name = "补传时间设置")
    private Integer repairTransmission;

    /** 短信提醒电话 */
    @Excel(name = "短信提醒电话")
    private String smsTipPhone;

    /** 补传短信提醒日 */
    @Excel(name = "补传短信提醒日")
    private Integer repairTipSmsDay;

    /** 最小限制 */
    @Excel(name = "最小限制")
    private Long minSize;

    /** 创建人名称 */
    @Excel(name = "创建人名称")
    private String createName;

    /** 创建日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 更新人名称 */
    @Excel(name = "更新人名称")
    private String updateName;

    /** 更新日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;
    //是否停用
    private Integer isstop;
    //产品命名时间类型（0为世界时，1为北京时，北京时减8小时）
    private Integer pnametype;

    private String isjc;

    private String wcsz;

    public String getWcsz() {
        return wcsz;
    }

    public void setWcsz(String wcsz) {
        this.wcsz = wcsz;
    }

    public String getIsjc() {
        return isjc;
    }

    public void setIsjc(String isjc) {
        this.isjc = isjc;
    }

    public Integer getPnametype() {
        return pnametype;
    }

    public void setPnametype(Integer pnametype) {
        this.pnametype = pnametype;
    }

    public Integer getIsstop() {
        return isstop;
    }

    public void setIsstop(Integer isstop) {
        this.isstop = isstop;
    }

    public String getElementName() {
        return elementName;
    }

    public void setElementName(String elementName) {
        this.elementName = elementName;
    }

    public String getProductDeptName() {
        return productDeptName;
    }

    public void setProductDeptName(String productDeptName) {
        this.productDeptName = productDeptName;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setResourcesId(Long resourcesId)
    {
        this.resourcesId = resourcesId;
    }

    public Long getResourcesId()
    {
        return resourcesId;
    }

    public String getResourceName() {
        return resourceName;
    }

    public void setResourceName(String resourceName) {
        this.resourceName = resourceName;
    }

    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }
    public void setProductItem(String productItem)
    {
        this.productItem = productItem;
    }

    public String getProductItem()
    {
        return productItem;
    }
    public void setForecastElement(String forecastElement)
    {
        this.forecastElement = forecastElement;
    }

    public String getForecastElement()
    {
        return forecastElement;
    }
    public void setCoverSeaArea(String coverSeaArea)
    {
        this.coverSeaArea = coverSeaArea;
    }

    public String getCoverSeaArea()
    {
        return coverSeaArea;
    }
    public void setResolution(String resolution)
    {
        this.resolution = resolution;
    }

    public String getResolution()
    {
        return resolution;
    }
    public void setForecastAging(String forecastAging)
    {
        this.forecastAging = forecastAging;
    }

    public String getForecastAging()
    {
        return forecastAging;
    }
    public void setFrequency(String frequency)
    {
        this.frequency = frequency;
    }

    public String getFrequency()
    {
        return frequency;
    }
    public void setFileSize(BigDecimal fileSize)
    {
        this.fileSize = fileSize;
    }

    public BigDecimal getFileSize()
    {
        return fileSize;
    }
    public void setProductDepartment(String productDepartment)
    {
        this.productDepartment = productDepartment;
    }

    public String getProductDepartment()
    {
        return productDepartment;
    }
    public void setProductDrief(String productDrief)
    {
        this.productDrief = productDrief;
    }

    public String getProductDrief()
    {
        return productDrief;
    }
    public void setNameRule(String nameRule)
    {
        this.nameRule = nameRule;
    }

    public String getNameRule()
    {
        return nameRule;
    }
    public void setProductType(String productType)
    {
        this.productType = productType;
    }

    public String getProductType()
    {
        return productType;
    }
    public void setIsAuto(Integer isAuto)
    {
        this.isAuto = isAuto;
    }

    public Integer getIsAuto()
    {
        return isAuto;
    }
    public void setMaxFileSize(BigDecimal maxFileSize)
    {
        this.maxFileSize = maxFileSize;
    }

    public BigDecimal getMaxFileSize()
    {
        return maxFileSize;
    }
    public void setMinFileSize(BigDecimal minFileSize)
    {
        this.minFileSize = minFileSize;
    }

    public BigDecimal getMinFileSize()
    {
        return minFileSize;
    }
    public void setFileType(String fileType)
    {
        this.fileType = fileType;
    }

    public String getFileType()
    {
        return fileType;
    }
    public void setDepartId(String departId)
    {
        this.departId = departId;
    }

    public String getDepartId()
    {
        return departId;
    }
    public void setForecastType(String forecastType)
    {
        this.forecastType = forecastType;
    }

    public String getForecastType()
    {
        return forecastType;
    }
    public void setSortOrder(Integer sortOrder)
    {
        this.sortOrder = sortOrder;
    }

    public Integer getSortOrder()
    {
        return sortOrder;
    }
    public void setCheckConfig(String checkConfig)
    {
        this.checkConfig = checkConfig;
    }

    public String getCheckConfig()
    {
        return checkConfig;
    }
    public void setLeftUpLongitude(BigDecimal leftUpLongitude)
    {
        this.leftUpLongitude = leftUpLongitude;
    }

    public BigDecimal getLeftUpLongitude()
    {
        return leftUpLongitude;
    }
    public void setLeftUpLatitude(BigDecimal leftUpLatitude)
    {
        this.leftUpLatitude = leftUpLatitude;
    }

    public BigDecimal getLeftUpLatitude()
    {
        return leftUpLatitude;
    }
    public void setRightDownLongitude(BigDecimal rightDownLongitude)
    {
        this.rightDownLongitude = rightDownLongitude;
    }

    public BigDecimal getRightDownLongitude()
    {
        return rightDownLongitude;
    }
    public void setRightDownLatitude(BigDecimal rightDownLatitude)
    {
        this.rightDownLatitude = rightDownLatitude;
    }

    public BigDecimal getRightDownLatitude()
    {
        return rightDownLatitude;
    }
    public void setIsPreview(Integer isPreview)
    {
        this.isPreview = isPreview;
    }

    public Integer getIsPreview()
    {
        return isPreview;
    }
    public void setIsSiteBice(Integer isSiteBice)
    {
        this.isSiteBice = isSiteBice;
    }

    public Integer getIsSiteBice()
    {
        return isSiteBice;
    }
    public void setIsZoneBice(Integer isZoneBice)
    {
        this.isZoneBice = isZoneBice;
    }

    public Integer getIsZoneBice()
    {
        return isZoneBice;
    }
    public void setIsOpen(Integer isOpen)
    {
        this.isOpen = isOpen;
    }

    public Integer getIsOpen()
    {
        return isOpen;
    }
    public void setSendMail(String sendMail)
    {
        this.sendMail = sendMail;
    }

    public String getSendMail()
    {
        return sendMail;
    }
    public void setProductMode(String productMode)
    {
        this.productMode = productMode;
    }

    public String getProductMode()
    {
        return productMode;
    }
    public void setIsForeverSave(Integer isForeverSave)
    {
        this.isForeverSave = isForeverSave;
    }

    public Integer getIsForeverSave()
    {
        return isForeverSave;
    }
    public void setForecastInterval(String forecastInterval)
    {
        this.forecastInterval = forecastInterval;
    }

    public String getForecastInterval()
    {
        return forecastInterval;
    }
    public void setIsJoinHistory(Integer isJoinHistory)
    {
        this.isJoinHistory = isJoinHistory;
    }

    public Integer getIsJoinHistory()
    {
        return isJoinHistory;
    }
    public void setNotUpdateCheckDays(String notUpdateCheckDays)
    {
        this.notUpdateCheckDays = notUpdateCheckDays;
    }

    public String getNotUpdateCheckDays()
    {
        return notUpdateCheckDays;
    }
    public void setDepartIds(String departIds)
    {
        this.departIds = departIds;
    }

    public String getDepartIds()
    {
        return departIds;
    }
    public void setIsOpenThreshold(Integer isOpenThreshold)
    {
        this.isOpenThreshold = isOpenThreshold;
    }

    public Integer getIsOpenThreshold()
    {
        return isOpenThreshold;
    }
    public void setIsUnzip(Integer isUnzip)
    {
        this.isUnzip = isUnzip;
    }

    public Integer getIsUnzip()
    {
        return isUnzip;
    }
    public void setLateTransmission(Integer lateTransmission)
    {
        this.lateTransmission = lateTransmission;
    }

    public Integer getLateTransmission()
    {
        return lateTransmission;
    }
    public void setRepairTransmission(Integer repairTransmission)
    {
        this.repairTransmission = repairTransmission;
    }

    public Integer getRepairTransmission()
    {
        return repairTransmission;
    }
    public void setSmsTipPhone(String smsTipPhone)
    {
        this.smsTipPhone = smsTipPhone;
    }

    public String getSmsTipPhone()
    {
        return smsTipPhone;
    }
    public void setRepairTipSmsDay(Integer repairTipSmsDay)
    {
        this.repairTipSmsDay = repairTipSmsDay;
    }

    public Integer getRepairTipSmsDay()
    {
        return repairTipSmsDay;
    }
    public void setMinSize(Long minSize)
    {
        this.minSize = minSize;
    }

    public Long getMinSize()
    {
        return minSize;
    }
    public void setCreateName(String createName)
    {
        this.createName = createName;
    }

    public String getCreateName()
    {
        return createName;
    }
    public void setCreateDate(Date createDate)
    {
        this.createDate = createDate;
    }

    public Date getCreateDate()
    {
        return createDate;
    }
    public void setUpdateName(String updateName)
    {
        this.updateName = updateName;
    }

    public String getUpdateName()
    {
        return updateName;
    }
    public void setUpdateDate(Date updateDate)
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate()
    {
        return updateDate;
    }

    public String getOceanName() {
        return oceanName;
    }

    public void setOceanName(String oceanName) {
        this.oceanName = oceanName;
    }

    public String getModeName() {
        return modeName;
    }

    public void setModeName(String modeName) {
        this.modeName = modeName;
    }

    @Override
    public String toString() {
        return "OProduct{" +
                "id='" + id + '\'' +
                ", resourcesId=" + resourcesId +
                ", resourceName='" + resourceName + '\'' +
                ", productName='" + productName + '\'' +
                ", productItem='" + productItem + '\'' +
                ", forecastElement='" + forecastElement + '\'' +
                ", coverSeaArea='" + coverSeaArea + '\'' +
                ", oceanName='" + oceanName + '\'' +
                ", resolution='" + resolution + '\'' +
                ", forecastAging='" + forecastAging + '\'' +
                ", frequency='" + frequency + '\'' +
                ", fileSize=" + fileSize +
                ", productDepartment='" + productDepartment + '\'' +
                ", productDrief='" + productDrief + '\'' +
                ", nameRule='" + nameRule + '\'' +
                ", productType='" + productType + '\'' +
                ", isAuto=" + isAuto +
                ", maxFileSize=" + maxFileSize +
                ", minFileSize=" + minFileSize +
                ", fileType='" + fileType + '\'' +
                ", departId='" + departId + '\'' +
                ", forecastType='" + forecastType + '\'' +
                ", sortOrder=" + sortOrder +
                ", checkConfig='" + checkConfig + '\'' +
                ", leftUpLongitude=" + leftUpLongitude +
                ", leftUpLatitude=" + leftUpLatitude +
                ", rightDownLongitude=" + rightDownLongitude +
                ", rightDownLatitude=" + rightDownLatitude +
                ", isPreview=" + isPreview +
                ", isSiteBice=" + isSiteBice +
                ", isZoneBice=" + isZoneBice +
                ", isOpen=" + isOpen +
                ", sendMail='" + sendMail + '\'' +
                ", productMode='" + productMode + '\'' +
                ", modeName='" + modeName + '\'' +
                ", isForeverSave=" + isForeverSave +
                ", forecastInterval='" + forecastInterval + '\'' +
                ", isJoinHistory=" + isJoinHistory +
                ", notUpdateCheckDays='" + notUpdateCheckDays + '\'' +
                ", departIds='" + departIds + '\'' +
                ", isOpenThreshold=" + isOpenThreshold +
                ", isUnzip=" + isUnzip +
                ", lateTransmission=" + lateTransmission +
                ", repairTransmission=" + repairTransmission +
                ", smsTipPhone='" + smsTipPhone + '\'' +
                ", repairTipSmsDay=" + repairTipSmsDay +
                ", minSize=" + minSize +
                ", createName='" + createName + '\'' +
                ", createDate=" + createDate +
                ", updateName='" + updateName + '\'' +
                ", updateDate=" + updateDate +
                '}';
    }
}
